doseresNMA antidep/net.tab.R

# table with drug-level characterstics
library(dplyr)
net.tab <- function(data=antidep){
 
  # events 
  r <- eval(substitute(r), data)
  # names
  drug.name <- levels(factor(eval(substitute(drug), data)))

  # create a list of drugs - row with 
      # n.events, n.studies, n.doses and n.patients
  data.drug <- sapply(drug.name, 
                      function(d){
                        data_per_drug <- data%>%filter(data$drug==d)
                        n.events <- data_per_drug%>%select(r)%>%sum()
                        n.studies <-data_per_drug%>%select(studyid)%>%unique()%>%nrow()
                        n.doses <-data_per_drug%>%nrow()
                        n.patients <- data_per_drug%>%select(n)%>%sum()
    
    return(c(n.events,
             n.patients,
             n.studies,
             n.doses
    ))
  }
  ,simplify = F)

  # merge rows
  tbl <- do.call(rbind,data.drug)
  # to table format
  colnames(tbl) <- c(
    "Number of events",
    "Number of patients",
    "Number of studies",
    "Number of non-zero doses")
  add_tab <- as_tibble(tbl,rownames = NA)
  return(add_tab)
  # to make nice tables in App
  # add.tble <- tibble(Characteristic=c("Agent",
  #                                     "Number of events",
  #                                     "Number of patients",
  #                                     "Number of studies",
  #                                     "Number of non-zero doses"
  #                                     ),
  #                    Value= c(drug.name,
  #                             tbl[,1],
  #                             tbl[,2],
  #                             tbl[,3],
  #                             tbl[,4]
  #                             ))
}
htx-r/doseresNMA documentation built on Jan. 28, 2021, 5:32 a.m.